/*! lzy-regx，lvshoutao@126.com，2019-6-1 */ ! function(e) {
    function t(a) {
        if (i[a]) return i[a].exports;
        var n = i[a] = {
            i: a,
            l: !1,
            exports: {}
        };
        return e[a].call(n.exports, n, n.exports, t), n.l = !0, n.exports
    }
    var i = {};
    t.m = e, t.c = i, t.d = function(e, i, a) {
        t.o(e, i) || Object.defineProperty(e, i, {
            configurable: !1,
            enumerable: !0,
            get: a
        })
    }, t.n = function(e) {
        var i = e && e.__esModule ? function() {
            return e.default
        } : function() {
            return e
        };
        return t.d(i, "a", i), i
    }, t.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, t.p = "", t(t.s = 0)
}([
    function(e, t, i) {
        i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(8), i(9), i(10), i(11), e.exports = i(12)
    },
    function(e, t, i) {
        "use strict";

        function a() {
            this.caches = []
        }
        var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            },
            o = {
                convertToString: function(e) {
                    var t = e.getMonth() + 1,
                        i = t > 9 ? t : "0" + t,
                        a = e.getDate(),
                        n = a > 9 ? a : "0" + a,
                        o = e.getHours(),
                        l = o > 9 ? o : "0" + o,
                        r = e.getMinutes(),
                        s = r > 9 ? r : "0" + r,
                        c = e.getSeconds(),
                        d = c > 9 ? c : "0" + c;
                    return e.getFullYear() + "-" + i + "-" + n + " " + l + ":" + s + ":" + d
                },
                timeDiff: function(e, t) {
                    var i = t.getTime() - e.getTime(),
                        a = Math.floor(i / 864e5),
                        n = i % 864e5,
                        o = Math.floor(n / 36e5),
                        l = n % 36e5,
                        r = Math.floor(l / 6e4),
                        s = l % 6e4;
                    return {
                        days: a,
                        hours: o,
                        minutes: r,
                        seconds: Math.round(s / 1e3)
                    }
                },
                getPreMonth: function(e) {
                    var t = e.split("-"),
                        i = t[0],
                        a = t[1],
                        n = t[2],
                        o = new Date(i, a, 0);
                    o = o.getDate();
                    var l = i,
                        r = parseInt(a) - 1;
                    0 == r && (l = parseInt(l) - 1, r = 12);
                    var s = n,
                        c = new Date(l, r, 0);
                    return c = c.getDate(), s > c && (s = c), r < 10 && (r = "0" + r), l + "-" + r + "-" + s
                },
                getNextMonth: function(e) {
                    var t = e.split("-"),
                        i = t[0],
                        a = t[1],
                        n = t[2],
                        o = new Date(i, a, 0);
                    o = o.getDate();
                    var l = i,
                        r = parseInt(a) + 1;
                    13 == r && (l = parseInt(l) + 1, r = 1);
                    var s = n,
                        c = new Date(l, r, 0);
                    return c = c.getDate(), s > c && (s = c), r < 10 && (r = "0" + r), l + "-" + r + "-" + s
                }
            };
        window.TimeUtil = o;
        var l = SiteConfig.webApi ? SiteConfig.webApi : "http://localhost:3000/",
            r = {
                call: function(e, t, i, a, n) {
                    if (SiteConfig.cache && a && a.expire > 0) {
                        var o = s.get(a.key);
                        if (o) return {
                            success: function(e, t) {
                                null != t || null != n ? e(o, t | n) : e(o)
                            }
                        }
                    }
                    return t = l + t, "Get" == e && i && (i.t = Math.random()), {
                        success: function(o, l) {
                            var c = this;
                            return $.ajax({
                                url: t,
                                type: e,
                                dataType: "json",
                                data: i,
                                async: !0,
                                timeout: 1e4,
                                crossDomain: !0,
                                cache: !1,
                                beforeSend: function(e) {
                                    e.withCredentials = !0, e.setRequestHeader("uid", SiteConfig.account.uId), e.setRequestHeader("token", SiteConfig.account.accessToken)
                                },
                                success: function(e, t, i) {
                                    if (e && e.state > 0) {
                                        var c = e.errMsg;
                                        c = c==''?'无数据':'';
                                        10009 != e.state && 10010 != e.state && 10012 != e.state && 10013 != e.state && 10014 != e.state || (c = "登录已失效，请重新登录，正在跳转到登录页面！", setTimeout(function() {
                                            r.goLoginPage()
                                        }, 1e3)), Vue.prototype.$message({
                                            message: c,
                                            type: "error"
                                        })
                                    }
                                    a && a.expire > 0 && e && 0 == e.state && (a.value = e, s.set(a)), null != l || null != n ? o(e, l | n) : o(e)
                                },
                                error: function(e, t, i) {
                                    var a = {
                                        status: e.status,
                                        statusText: e.statusText
                                    };
                                    if (c.errorCall && !0 !== c.errorCall(a)) c.errorCall(a);
                                    else {
                                        var n = "网络错误或接口无响应，请检查网络！";
                                        "timeout" == (e.statusText || "") && (n = "请求已超时"), Vue.prototype.$message({
                                            message: n,
                                            type: "error"
                                        })
                                    }
                                }
                            }), this
                        },
                        error: function(e) {
                            this.errorCall = e
                        }
                    }
                },
                get: function(e, t, i, a) {
                    return i && !i.key && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id), r.call("Get", e, t, i, a || 0 == a ? a : null)
                },
                post: function(e, t, i, a) {
                    if (i && !i.key) {
                        for (var n in t)
                            if (t.hasOwnProperty(n) && t[n].length > 100) {
                                i = null;
                                break
                            }
                        i && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id)
                    }
                    return r.call("POST", e, t, i, a || 0 == a ? a : null)
                },
                when: function(e, t) {
                    var i = 0,
                        a = new Array(e.length);
                    return {
                        success: function(t) {
                            for (var n = 0; n < e.length; n++) r.call(e[n].type, e[n].url, e[n].param, null, n).success(function(n, o) {
                                i++, a[o] = n, i == e.length && t(a)
                            })
                        }
                    }
                },
                $whenfuc: function(e) {
                    var t = 0,
                        i = new Array(e.length);
                    return {
                        success: function(a) {
                            for (var n = 0; n < e.length; n++) e[n].success(function(n, o) {
                                t++, i[o] = n, t == e.length && a(i)
                            }, n)
                        }
                    }
                },
                getQueryString: function(e) {
                    var t = location.search.match(new RegExp("[?&]" + e + "=([^&]+)", "i"));
                    return null == t || t.length < 1 ? "" : t[1]
                },
                goPageBack: function() {
                    parent.$("#ifrDetail").hide()
                },
                goPageDialog: function(e) {
                    parent.vuePageIndex.$refs.siteTab.openDialog(e)
                },
                callPageMainfuc: function(e, t, i) {
                    var a = parent.vuePageIndex.$refs.siteTab;
                    if (a) try {
                        a.getCurrContent()[e][t]()
                    } catch (e) {} finally {
                        i && a.closeDialog()
                    }
                },
                getUrlUpper: function() {
                    var e = "",
                        t = document.location.pathname;
                    return /pages+\/[a-zA-Z0-9]+\/[a-zA-Z0-9]+\//.test(t) ? e = "../../../" : /pages+\/[a-zA-Z0-9]+\//.test(t) ? e = "../../../" : /pages+\/?/.test(t) && (e = "../"), e
                },
                goLoginPage: function() {
                    logout(), top.location.href = this.getUrlUpper() + "login.html"
                }
            };
        window.HttpUtil = r, a.prototype = {
            init: function() {
                var e = this,
                    t = localStorage.getItem("lzyCache-keys");
                t && "{}" != t && "undefined" != t && (this.caches = JSON.parse(t)), setInterval(function() {
                    for (var t = (new Date).getTime(), i = !1, a = e.caches.length; a--;) {
                        var n = e.caches[a];
                        n.expire + n.create < t && (localStorage.removeItem(n.key), e.caches.splice(a, 1), i = !0)
                    }
                    i && localStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
                }, 1e3), window.$LzyCache = this
            },
            set: function(e) {
                if ("object" == n(e.value) && (e.value = JSON.parse(JSON.stringify(e.value))), e.level = e.level || 1, e.expire = e.expire || 12e5, e.create = (new Date).getTime(), e.key && "" != e.key) {
                    for (var t = -1, i = 0; i < this.caches.length; i++)
                        if (this.caches[i].key == e.key) {
                            t = i;
                            break
                        }
                    t > -1 ? this.caches[t].expire = e.expire : this.caches.push({
                        key: e.key,
                        expire: e.expire,
                        create: e.create,
                        level: e.level
                    });
                    try {
                        localStorage.setItem(e.key, JSON.stringify(e.value)), localStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
                    } catch (e) {}
                } else
                    for (var a = 0; a < this.caches.length; a++) this.caches[a].level == e.level && (this.caches[a].expire = e.expire)
            },
            get: function(e) {
                var t = localStorage.getItem(e);
                return t && "undefined" != t ? JSON.parse(t) : null
            },
            remove: function(e, t) {
                if (e && localStorage.removeItem(e), t) {
                    for (var i = !1, a = 0; a < this.caches.length; a++) this.caches[a].level == t && (localStorage.removeItem(this.caches[a].key), this.caches.splice(a, 1), i = !0);
                    i && localStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
                }
            }
        }, !(top.location != self.location) && (new a).init();
        var s = window.$LzyCache,
            c = 0;
        if (!s) {
            var d = function(e, t) {
                for (; e != t && c < 10;) t = e, e = e.parent, c++;
                return t
            }(window.parent, window);
            s = window.$LzyCache = d.$LzyCache
        }
        var h = {
            resizeTime: null,
            processResize: function(e) {
                for (var t in e.$refs) e.$refs.hasOwnProperty(t) && e.$refs[t].onresize && e.$refs[t].onresize()
            },
            addCompOnresize: function(e) {
                var t = this;
                window.onresize = function() {
                    clearTimeout(t.resizeTime), t.resizeTime = setTimeout(function() {
                        t.processResize(e)
                    }, 200)
                }
            }
        };
        window.LzyEvent = h
    },
    function(e, t, i) {
        "use strict";
        Vue.component("site-menu", {
            template: '<el-scrollbar id="site-menu" v-bind:style="{height:height}"><el-menu>                <template v-for="item in menus">                    <el-submenu :index="item.index" v-if="item.child && item.child.length>0">                        <template slot="title">                            <i class="icon iconfont" :class="item.icon" v-if="item.icon"></i>                            <span>{{item.name}}</span>                        </template>                        <template v-for="it1 in item.child">                            <template v-if="it1.child && it1.child.length>0">                                <el-submenu :index="it1.index">                                    <template slot="title">{{it1.name}}</template>                                    <el-menu-item v-for="it2 in it1.child" :index="it2.index"><a @click="onGoPage(it2)">{{it2.name}}</a></el-menu-item>                                </el-submenu>                            </template>                            <template v-if="!it1.child || it1.child.length==0">                                <el-menu-item :index="it1.index"><a @click="onGoPage(it1)">{{it1.name}}</a></el-menu-item>                            </template>                        </template>                    </el-submenu>                    <el-menu-item :index="item.index" v-if="!item.child || item.child.length==0">                        <i class="icon iconfont" :class="item.icon" v-if="item.icon"></i>                        <span slot="title"><a  @click="onGoPage(item)">{{item.name}}</a></span>                    </el-menu-item>                </template>            </el-menu></el-scrollbar>',
            data: function() {
                return {
                    height: "500px",
                    menus: []
                }
            },
            methods: {
                onGoPage: function(e) {
                    this.$emit("click-menu", {
                        title: e.name,
                        url: e.url
                    })
                },
                onresize: function() {
                    this.height = document.body.offsetHeight - 108 + "px"
                }
            },
            created: function() {
                this.menus = SiteConfig.menu, this.$nextTick(function() {
                    this.height = document.body.offsetHeight - 108 + "px"
                })
            },
            mounted: function() {}
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("site-header", {
            props: {
                title: String,
                user: Object
            },
            template: '<div id="site-header">                    <div class="logo">                        <img :src="userr.companyLogo" />                    </div>                    <div class="title">{{title}} <a target="_blank" style="padding-left:500px;color:#C7E4FF;font-weight:200;font-size:16px;" :href="userr.screen">大屏展示</a></div>                    <div class="right">                        <el-badge :value="errorCount" class="item alarm">                            <i class="el-icon-bell"></i>                        </el-badge>                        <div class="item"><a v-on:click="toggleFull()"><i class="icon iconfont icon-full"></i></a></div>                        <div class="item">                            <el-popover                                placement="bottom"                                width="100"                                trigger="click">                                <div class="header-user">                                <p class="name">{{userr.name}}</p>                                <a>修改密码</a><br/>                                <a v-on:click="logout()">注销登录</a>                                </div>                                <a slot="reference"><i class="icon iconfont icon-user"></i></a>                            </el-popover>                        </div>                    </div>                </div>',
            data: function() {
                return {
                    userr: SiteConfig.account,
                    errorCount:0,
                }
            },
            methods: {
                add: function(e) {
                    e && (e.preventDefault(), this.users.push(e.target.tagName))
                },
                toggleFull: function() {
                    this.$root.toggleFull()
                },
                logout: function(e) {
                    function t() {
                        return e.apply(this, arguments)
                    }
                    return t.toString = function() {
                        return e.toString()
                    }, t
                }(function() {
                    logout().success(function() {
                        location.href = "login.html"
                    })
                })
            },
            created: function() {
                this.userr.name = SiteConfig.account.userName, this.userr.companyLogo = this.userr.companyLogo || SiteConfig.account.companyLogo, this.userr.screen = SiteConfig.account.roleId == 1 ? 'pages/compy/visual/default.html' : 'pages/compy/user-visual/index.html',
                HttpUtil.get('Error/Count',{ProcessFlag:0}).success((res)=>{if (res.data.length!=0){this.errorCount = res.data[0].alarmCount;}})
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("dev-tree", {
            props: {
                ischeckbox: Boolean,
                checkboxdisb: String,
                expandid: Number,
                tabsign: String,
                energy: String
            },
            template: '<div id="site-tree">                <div id="tree-container" class="tree-container" v-bind:style="{width:width+\'px\'}">                    <div class="tree-inner" v-bind:style="{height:height+\'px\'}">                        <el-tabs v-model="tabName">                            <el-tab-pane label="区域" name="area" v-if="tabSign.area">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="areaTreeData"                                    :props="treeProps"                                    :load="loadNodeArea"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="areatree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane label="部门" name="depart" v-if="tabSign.depart">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="departTreeData"                                    :props="treeProps"                                    :load="loadNodeDepart"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="departtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane label="分项" name="sub" v-if="tabSign.sub">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="subTreeData"                                    :props="treeProps"                                    :load="loadNodeSub"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="departtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane :label="tabX.label" name="x" v-if="tabSign.x">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="xTreeData"                                    :props="treeProps"                                    :load="loadNodeX"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="xtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                        </el-tabs>                    </div>                </div>            </div>',
            data: function() {
                return {
                    treeProps: {
                        label: "text",
                        children: [],
                        isLeaf: "isLeaf"
                    },
                    areaDatas: [],
                    areaTreeData: [],
                    departDatas: [],
                    departTreeData: [],
                    subDatas: [],
                    subTreeData: [],
                    xDatas: [],
                    xTreeData: [],
                    recurId: 0,
                    recurIds: [],
                    checkedIds: [],
                    tabSign: {
                        area: !0,
                        depart: !0,
                        sub: !0,
                        x: !0
                    },
                    tabX: {
                        label: "",
                        level: 0
                    },
                    height: 500,
                    width: 100,
                    tabName: "area"
                }
            },
            methods: {
                onNodeCheck: function(e) {
                    var t = void 0;
                    switch (this.tabName) {
                        case "area":
                            t = this.$refs.areatree;
                            break;
                        case "depart":
                            t = this.$refs.departtree;
                            break;
                        case "sub":
                            t = this.$refs.subtree;
                            break;
                        case "x":
                            t = this.$refs.xtree
                    }
                    var i = t.getCheckedNodes();
                    this.$emit("check-node", i)
                },
                onNodeClick: function(e) {
                    this.$emit("click-node", e)
                },
                loadNodeArea: function(e, t) {
                    if (0 != e.level) return t(this.getChilds(e.data.id, this.areaDatas));
                    var i = this;
                    this.loadTreeDatas(2).success(function(e) {
                        return i.areaDatas = e, i.areaTreeData = i.getChilds(e[0].pId, i.areaDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function() {
                            i.$refs.areatree.setCurrentKey(i.expandid)
                        }, 1e3)), t(i.areaTreeData)
                    })
                },
                loadNodeDepart: function(e, t) {
                    if (0 != e.level) return t(this.getChilds(e.data.id, this.departDatas));
                    var i = this;
                    this.loadTreeDatas(0).success(function(e) {
                        return i.departDatas = e, i.departTreeData = i.getChilds(e[0].pId, i.departDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function() {
                            i.$refs.departtree.setCurrentKey(i.expandid)
                        }, 1e3)), t(i.departTreeData)
                    })
                },
                loadNodeSub: function(e, t) {
                    if (0 != e.level) return t(this.getChilds(e.data.id, this.subDatas));
                    var i = this;
                    this.loadTreeDatas(1).success(function(e) {
                        return i.subDatas = e, i.subTreeData = i.getChilds(e[0].pId, i.subDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function() {
                            i.$refs.subtree.setCurrentKey(i.expandid)
                        }, 1e3)), t(i.subTreeData)
                    })
                },
                loadNodeX: function(e, t) {
                    if (0 != e.level) return t(this.getChilds(e.data.id, this.xDatas));
                    var i = this;
                    this.loadTreeDatas(this.tabX.level, 3).success(function(e) {
                        return i.xDatas = e, i.xTreeData = i.getChilds(e[0].pId, i.xDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function() {
                            i.$refs.xtree.setCurrentKey(i.expandid)
                        }, 1e3)), t(i.xTreeData)
                    })
                },
                getChilds: function(e, t) {
                    var i = [],
                        a = !0,
                        n = !1,
                        o = void 0;
                    try {
                        for (var l, r = t[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                            var s = l.value;
                            if (s.pId == e) {
                                var c = !0,
                                    d = !0,
                                    h = !1,
                                    u = void 0;
                                try {
                                    for (var p, m = t[Symbol.iterator](); !(d = (p = m.next()).done); d = !0) {
                                        if (p.value.pId == s.id) {
                                            c = !1;
                                            break
                                        }
                                    }
                                } catch (e) {
                                    h = !0, u = e
                                } finally {
                                    try {
                                        !d && m.return && m.return()
                                    } finally {
                                        if (h) throw u
                                    }
                                }
                                var f = !1,
                                    g = "",
                                    v = s.id.substr(0, 1).toLowerCase();
                                switch (this.checkboxdisb && this.checkboxdisb.indexOf(v) > -1 && (f = !0), v) {
                                    case "u":
                                        g = "el-icon-service";
                                        break;
                                    case "p":
                                        g = "el-icon-menu";
                                        break;
                                    case "z":
                                        g = "el-icon-news";
                                        break;
                                    case "d":
                                        g = "el-icon-setting"
                                }
                                i.push({
                                    id: s.id,
                                    text: s.name,
                                    isLeaf: c,
                                    children: [],
                                    dataId: s.dataId,
                                    attributes: s.attributes,
                                    disabled: f,
                                    icon: g
                                })
                            }
                        }
                    } catch (e) {
                        n = !0, o = e
                    } finally {
                        try {
                            !a && r.return && r.return()
                        } finally {
                            if (n) throw o
                        }
                    }
                    return i
                },
                recursionToRoot: function(e, t) {
                    var i = !0,
                        a = !1,
                        n = void 0;
                    try {
                        for (var o, l = t[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                            var r = o.value;
                            if (r.id == e) {
                                this.recurIds.unshift(r.id), r.pId && 0 != r.pId ? this.recursionToRoot(r.pId, t) : !0;
                                break
                            }
                        }
                    } catch (e) {
                        a = !0, n = e
                    } finally {
                        try {
                            !i && l.return && l.return()
                        } finally {
                            if (a) throw n
                        }
                    }
                },
                loadTreeDatas: function(e, t) {
                    var i = [],
                        a = {
                            UserId: SiteConfig.account.id,
                            level: e,
                            zoneType: t || 0,
                            energyType: this.energy || "Electric"
                        };
                    return {
                        success: function(e) {
                            HttpUtil.get("User/getUserTree", a).success(function(t) {
                                for (var a = t.data, n = 0; n < a.length; n++) i.push({
                                    id: a[n].Id,
                                    name: a[n].Text,
                                    pId: a[n].ParentId,
                                    type: a[n].Type,
                                    dataId: "D" === a[n].Id.substr(0, 1) ? a[n].attributes.deviceId : a[n].Id.substr(2),
                                    attributes: a[n].attributes
                                });
                                e(i)
                            })
                        }
                    }
                },
                onresize: function() {
                    this.height = document.getElementById("site-tree").offsetHeight, this.width = document.getElementById("site-tree").clientWidth - 2
                }
            },
            created: function() {
                var e = this;
                if (this.tabsign) {
                    for (var t in this.tabSign) this.tabSign.hasOwnProperty(t) && (this.tabSign[t] = !1);
                    this.tabsign.split("").forEach(function(t, i) {
                        var a = void 0;
                        "z" == t ? a = "area" : "b" == t ? a = "depart" : "s" == t ? a = "sub" : "u" == t ? (a = "x", e.tabX = {
                            level: 0,
                            label: "用户"
                        }) : "p" == t ? (a = "x", e.tabX = {
                            level: 1,
                            label: "项目"
                        }) : "d" == t && (a = "x", e.tabX = {
                            level: 2,
                            label: "设备"
                        }), e.tabSign[a] = !0, 0 == i && (e.tabName = a)
                    })
                }
                this.$nextTick(function() {
                    this.height = document.getElementById("tree-container").offsetHeight, this.width = document.getElementById("site-tree").clientWidth - 2
                })
            },
            mounted: function() {}
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("chart-elex", {
            props: {
                option: Object,
                colnames: Object,
                coldatas: Object,
                showtable: Boolean
            },
            template: '<div class="chart-wrap">                <div class="bar">                    <span class="glyphicon glyphicon-stats" v-on:click="toggle(1)" v-if="showtable"></span>                    <span class="glyphicon glyphicon-th-list" v-on:click="toggle(2)" v-if="showtable"></span>                </div>                <div class="chart" v-bind:id="id" v-show="sign==1" ></div>            </div>',
            data: function() {
                return {
                    id: "chartElex" + Math.ceil(1e3 * Math.random()),
                    chart: null,
                    sign: 1
                }
            },
            methods: {
                refresh: function() {
                    var e = this;
                    this.option.color || (this.option.color = SiteConfig.chartColors), this.option.grid || (this.option.grid = {
                        left: 20,
                        right: 20,
                        bottom: 20,
                        containLabel: !0
                    }), this.option.legend && (this.option.legend.top = this.option.legend.top ? this.option.legend.top : 10, this.option.legend.left = this.option.legend.left ? this.option.legend.left : 20), this.option.title && (this.option.title.textStyle = {
                        fontSize: 14
                    }), this.option.calculable || (this.option.calculable = !0), setTimeout(function() {
                        e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(e.option)
                    }, 500)
                },
                toggle: function(e) {
                    this.sign = e
                }
            },
            mounted: function() {},
            watch: {
                option: function(e, t) {
                    this.refresh()
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("chart-line", {
            props: {
                data: Object
            },
            template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
            data: function() {
                return {
                    id: "chartLine" + Math.ceil(1e3 * Math.random()),
                    chart: null
                }
            },
            methods: {
                refresh: function() {
                    var e = this,
                        t = [],
                        i = [],
                        a = !0,
                        n = !1,
                        o = void 0;
                    try {
                        for (var l, r = this.data.y[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                            var s = l.value;
                            t.push(s.name), i.push({
                                name: s.name,
                                type: "line",
                                barGap: 0,
                                data: s.value
                            })
                        }
                    } catch (e) {
                        n = !0, o = e
                    } finally {
                        try {
                            !a && r.return && r.return()
                        } finally {
                            if (n) throw o
                        }
                    }
                    var c = {
                        color: SiteConfig.chartColors,
                        grid: {
                            left: 20,
                            right: 20,
                            bottom: 20,
                            containLabel: !0
                        },
                        title: {
                            text: this.data.title,
                            x: "center"
                        },
                        legend: {
                            top: 10,
                            left: 20,
                            data: t
                        },
                        calculable: !0,
                        xAxis: [{
                            type: "category",
                            axisTick: {
                                show: !1
                            },
                            data: this.data.x
                        }],
                        yAxis: [{
                            type: "value"
                        }],
                        series: i
                    };
                    setTimeout(function() {
                        e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(c)
                    }, 500)
                },
                toggle: function(e) {
                    this.sign = e
                }
            },
            mounted: function() {},
            watch: {
                data: function(e, t) {
                    this.refresh()
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("chart-bar", {
            props: {
                data: Object
            },
            template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
            data: function() {
                return {
                    id: "chartBar" + Math.ceil(1e3 * Math.random()),
                    chart: null
                }
            },
            methods: {
                refresh: function() {
                    var e = this,
                        t = [],
                        i = [],
                        a = !0,
                        n = !1,
                        o = void 0;
                    try {
                        for (var l, r = this.data.y[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                            var s = l.value;
                            t.push(s.name), i.push({
                                name: s.name,
                                type: "bar",
                                barGap: 0,
                                data: s.value
                            })
                        }
                    } catch (e) {
                        n = !0, o = e
                    } finally {
                        try {
                            !a && r.return && r.return()
                        } finally {
                            if (n) throw o
                        }
                    }
                    var c = {
                        color: SiteConfig.chartColors,
                        grid: {
                            left: 20,
                            right: 20,
                            bottom: 20,
                            containLabel: !0
                        },
                        title: {
                            text: this.data.title,
                            x: "center"
                        },
                        legend: {
                            top: 10,
                            left: 20,
                            data: t
                        },
                        calculable: !0,
                        xAxis: [{
                            type: "category",
                            axisTick: {
                                show: !1
                            },
                            data: this.data.x
                        }],
                        yAxis: [{
                            type: "value"
                        }],
                        series: i
                    };
                    setTimeout(function() {
                        e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(c)
                    }, 500)
                },
                toggle: function(e) {
                    this.sign = e
                }
            },
            mounted: function() {},
            watch: {
                data: function(e, t) {
                    this.refresh()
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("chart-pie", {
            props: {
                data: Object
            },
            template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
            data: function() {
                return {
                    id: "chartPie" + Math.ceil(1e3 * Math.random()),
                    chart: null
                }
            },
            methods: {
                refresh: function() {
                    var e = this,
                        t = [],
                        i = !0,
                        a = !1,
                        n = void 0;
                    try {
                        for (var o, l = this.data.y[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                            var r = o.value;
                            t.push(r.name)
                        }
                    } catch (e) {
                        a = !0, n = e
                    } finally {
                        try {
                            !i && l.return && l.return()
                        } finally {
                            if (a) throw n
                        }
                    }
                    var s = {
                        color: SiteConfig.chartColors,
                        grid: {
                            left: 20,
                            right: 20,
                            bottom: 20,
                            containLabel: !0
                        },
                        title: {
                            text: this.data.title,
                            x: "center"
                        },
                        legend: {
                            top: 10,
                            left: 10,
                            orient: "vertical",
                            data: t
                        },
                        series: {
                            name: "",
                            type: "pie",
                            radius: "55%",
                            center: ["50%", "60%"],
                            data: this.data.y,
                            itemStyle: {
                                emphasis: {
                                    shadowBlur: 10,
                                    shadowOffsetX: 0,
                                    shadowColor: "rgba(0, 0, 0, 0.5)"
                                }
                            }
                        }
                    };
                    setTimeout(function() {
                        e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(s)
                    }, 500)
                },
                toggle: function(e) {
                    this.sign = e
                }
            },
            mounted: function() {},
            watch: {
                data: function(e, t) {
                    this.refresh()
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("info-win", {
            props: {
                point: Object,
                title: ""
            },
            template: '<div id="mapWindow"><slot></slot></div>',
            data: function() {
                return {
                    opts: {
                        width: 400,
                        height: 300,
                        title: ""
                    },
                    bmap: null,
                    point: null
                }
            },
            methods: {
                show: function() {
                    var e = document.getElementById("mapWindow");
                    this.opts.title = this.title ? this.title : "信息框";
                    var t = new BMap.InfoWindow('<div id="mapWinContent"></div>', this.opts),
                        i = new BMap.Point(this.point.lng, this.point.lat);
                    this.bmap.openInfoWindow(t, i), setTimeout(function() {
                        document.getElementById("mapWinContent").appendChild(e)
                    }, 200)
                }
            },
            mounted: function() {
                this.$parent.$winComponent = this
            },
            watch: {
                point: function(e, t) {
                    this.point = e, this.show()
                }
            }
        }), Vue.component("chart-map", {
            props: {
                mapstyle: Object,
                markers: [],
                center: {},
                zoom: Number
            },
            template: '<div style="width:100%;height:110%;border:solid 1px blue;">                    <div style="width:100%;height:100%;border:solid 1px blue;" v-bind:id="id"></div>                    <slot></slot>                </div>',
            data: function() {
                return {
                    id: "chartMap" + Math.ceil(1e3 * Math.random()),
                    chart: null,
                    bmap: null,
                    winComponent: null,
                    markerAll: []
                }
            },
            methods: {
                setCenter: function(e, t) {
                    this.bmap.setCenter(new BMap.Point(e, t))
                },
                clearMarkerAll: function() {
                    var e = !0,
                        t = !1,
                        i = void 0;
                    try {
                        for (var a, n = this.markerAll[Symbol.iterator](); !(e = (a = n.next()).done); e = !0) {
                            var o = a.value;
                            this.bmap.removeOverlay(o)
                        }
                    } catch (e) {
                        t = !0, i = e
                    } finally {
                        try {
                            !e && n.return && n.return()
                        } finally {
                            if (t) throw i
                        }
                    }
                    this.markerAll.length = 0
                }
            },
            created: function() {
                this.mapstyle || (this.mapstyle = SiteConfig.mapStyle)
            },
            mounted: function() {
                var e = this,
                    t = document.getElementById(this.id);
                this.chart = echarts.init(t);
                var i = {
                    bmap: {
                        center: [104.114129, 37.550339],
                        zoom: 5,
                        roam: !0,
                        mapStyle: this.mapstyle
                    }
                };
                this.chart.setOption(i, !0), this.bmap = this.chart.getModel().getComponent("bmap").getBMap(), this.$winComponent.bmap = this.bmap, this.bmap.addEventListener("zoomend", function(t) {
                    var i = e.bmap.getZoom();
                    e.$emit("on-zoom", i)
                })
            },
            watch: {
                markers: function(e, t) {
                    var i = this,
                        a = this,
                        n = !0,
                        o = !1,
                        l = void 0;
                    try {
                        for (var r, s = e[Symbol.iterator](); !(n = (r = s.next()).done); n = !0) {
                            var c, d = r.value;
                            ! function(e) {
                                c = null, e.icon && "" != e.icon && (c = new BMap.Icon(e.icon, new BMap.Size(42, 42), {}));
                                var t = new BMap.Point(e.lng, e.lat),
                                    n = new BMap.Marker(t, {
                                        icon: c
                                    }),
                                    o = null;
                                if (e.text && "" != e.text) {
                                    var l = 5,
                                        r = 4;
                                    c && (l = 12, r = 10), o = new BMap.Label(e.text, {
                                        offset: new BMap.Size(l, r)
                                    }), o.setStyle({
                                        background: "none",
                                        border: "none"
                                    })
                                }
                                o && n.setLabel(o), n.addEventListener("click", function(t) {
                                    a.$emit("click-marker", e)
                                }), i.bmap.addOverlay(n), i.markerAll.push(n)
                            }(d)
                        }
                    } catch (e) {
                        o = !0, l = e
                    } finally {
                        try {
                            !n && s.return && s.return()
                        } finally {
                            if (o) throw l
                        }
                    }
                },
                center: function(e, t) {
                    this.setCenter(e.lng, e.lat)
                },
                zoom: function(e, t) {
                    this.bmap.setZoom(e)
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("selcity", {
            props: {
                seloption: []
            },
            template: '<el-cascader\n                :options="options"\n                v-model="seloption"\n                @active-item-change="handleItemChange"\n                @change="handleChange"\n                :props="props"\n            ></el-cascader>',
            data: function() {
                return {
                    options: [],
                    props: {
                        label: "label",
                        children: "cities",
                        value: "value"
                    },
                    isInitLoaded: !1
                }
            },
            methods: {
                handleChange: function(e) {
                    this.seloption = e, this.$emit("onchange", e)
                },
                handleItemChange: function(e) {
                    if (1 == e.length) {
                        var t = void 0,
                            i = !0,
                            a = !1,
                            n = void 0;
                        try {
                            for (var o, l = this.options[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                                var r = o.value;
                                if (r.label == e[0]) {
                                    t = r;
                                    break
                                }
                            }
                        } catch (e) {
                            a = !0, n = e
                        } finally {
                            try {
                                !i && l.return && l.return()
                            } finally {
                                if (a) throw n
                            }
                        }
                        t && this.loadOptionChilds(t, "city")
                    } else if (2 == e.length) {
                        var s = void 0,
                            c = !0,
                            d = !1,
                            h = void 0;
                        try {
                            for (var u, p = this.options[Symbol.iterator](); !(c = (u = p.next()).done); c = !0) {
                                var m = u.value;
                                if (m.label == e[0]) {
                                    s = m;
                                    break
                                }
                            }
                        } catch (e) {
                            d = !0, h = e
                        } finally {
                            try {
                                !c && p.return && p.return()
                            } finally {
                                if (d) throw h
                            }
                        }
                        if (s) {
                            var f = void 0,
                                g = !0,
                                v = !1,
                                b = void 0;
                            try {
                                for (var y, x = s.cities[Symbol.iterator](); !(g = (y = x.next()).done); g = !0) {
                                    var k = y.value;
                                    if (k.label == e[1]) {
                                        f = k;
                                        break
                                    }
                                }
                            } catch (e) {
                                v = !0, b = e
                            } finally {
                                try {
                                    !g && x.return && x.return()
                                } finally {
                                    if (v) throw b
                                }
                            }
                            f && this.loadOptionChilds(f, "district")
                        }
                    }
                },
                loadOptionChilds: function(e, t) {
                    if (e && !e.cities.length) {
                        var i = "district" != t ? [] : null;
                        this.loadCitys(e.label, t).success(function(t) {
                            t.data.forEach(function(t) {
                                e.cities.push({
                                    label: t.name,
                                    value: t.name,
                                    cities: i
                                })
                            })
                        })
                    }
                },
                loadCitys: function(e, t) {
                    return HttpUtil.get("Zone/Child", {
                        parentName: e,
                        level: t
                    })
                },
                asyInit: function() {
                    var e = this,
                        t = [];
                    this.seloption[1] && t.push(this.loadCitys(this.seloption[0], "city")), this.seloption[2] && t.push(this.loadCitys(this.seloption[1], "district")), HttpUtil.$whenfuc(t).success(function(t) {
                        if (t[0]) {
                            var i = e.options.find(function(t) {
                                return t.value == e.seloption[0]
                            });
                            if (i && t[0].data.forEach(function(e) {
                                i.cities.push({
                                    label: e.name,
                                    value: e.name,
                                    cities: []
                                })
                            }), t[1]) {
                                var a = i.cities.find(function(t) {
                                    return t.value == e.seloption[1]
                                });
                                a && t[1].data.forEach(function(e) {
                                    a.cities.push({
                                        label: e.name,
                                        value: e.name
                                    })
                                })
                            }
                        }
                    })
                }
            },
            created: function() {
                var e = this;
                this.loadCitys("中国", "province").success(function(t) {
                    t.data.forEach(function(t) {
                        e.options.push({
                            label: t.name,
                            value: t.name,
                            cities: []
                        })
                    })
                })
            },
            watch: {
                seloption: function(e, t) {
                    var i = this;
                    this.isInitLoaded || setTimeout(function() {
                        i.asyInit(), i.isInitLoaded = !0
                    }, 500)
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("site-tab", {
            props: {
                newtab: Object,
                max: Number
            },
            template: '<div id="site-tab">\n                <el-tabs v-model="tabName" type="card" closable @tab-remove="removeTab">\n                    <el-tab-pane\n                        v-for="(item, index) in tabs"\n                        :key="item.name"\n                        :label="item.title"\n                        :name="item.name">\n                        <iframe :id="item.name" :src="item.url" v-bind:style="{height:height+\'px\'}"></iframe>\n                    </el-tab-pane>\n                </el-tabs>\n                <iframe id="ifrDialog" :src="dialogUrl" v-bind:style="{height:(height+50)+\'px\'}" v-show="isDialogVib" >\n                </iframe>\n                <el-button id="btnClose" size="mini" class="dClose" icon="el-icon-close" circle \n                        v-show="isDialogVib" \n                        @click="isDialogVib=false">\n                </el-button>\n            </div>',
            data: function() {
                return {
                    height: "500",
                    tabName: "tabName0",
                    tabs: [],
                    count: 0,
                    isDialogVib: !1,
                    dialogUrl: ""
                }
            },
            methods: {
                addTab: function(e) {
                    this.isDialogVib = !1;
                    var t = this.tabs.find(function(t) {
                        return t.title == e.title
                    });
                    if (t) return void(this.tabName = t.name);
                    var i = this.max || 4,
                        a = "tabName" + this.count++;
                    this.tabs.length == i && this.tabs.shift(), this.tabs.push({
                        name: a,
                        title: e.title,
                        url: e.url
                    }), this.tabName = a
                },
                removeTab: function(e) {
                    var t = this.tabs.filter(function(t) {
                        return t.name !== e
                    });
                    return this.tabs = t, this.tabs.length > 0 && (this.tabName = this.tabs[this.tabs.length - 1].name), !1
                },
                getCurrContent: function() {
                    return document.getElementById(this.tabName).contentWindow
                },
                openDialog: function(e) {
                    this.isDialogVib = !0, this.dialogUrl = e
                },
                closeDialog: function() {
                    this.isDialogVib = !1
                },
                onresize: function() {
                    this.height = document.body.offsetHeight - 108
                }
            },
            created: function() {
                this.$nextTick(function() {
                    this.height = document.body.offsetHeight - 108
                }), "" != this.newtab.url && this.addTab(this.newtab)
            },
            mounted: function() {},
            watch: {
                newtab: function(e, t) {
                    this.addTab(e)
                }
            }
        })
    },
    function(e, t, i) {
        "use strict";
        Vue.component("edit-elescheme", {
            props: {
                schemeId: Number
            },
            template: '<el-form ref="form" label-width="80px">                <el-form-item label="方案名称">                    <el-input v-model="name"></el-input>                </el-form-item>                <el-form-item label="谷时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="谷时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="平时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="平时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="峰时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="峰时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="尖时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="尖时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="谷电价">                    <el-col :span="9">                        <el-input v-model="gprice"></el-input>                    </el-col>                    <el-col class="line" :span="6">平电价</el-col>                    <el-col :span="9">                        <el-input v-model="pprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="峰电价">                    <el-col :span="9">                        <el-input v-model="fprice"></el-input>                    </el-col>                    <el-col class="line" :span="6">尖电价</el-col>                    <el-col :span="9">                        <el-input v-model="jprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="站点需量">                    <el-col :span="9">                        <el-input v-model="siteqa"></el-input>                    </el-col>                    <el-col class="line" :span="6">需量电价</el-col>                    <el-col :span="9">                        <el-input v-model="qaprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="站点容量">                    <el-col :span="9">                        <el-input v-model="siteca"></el-input>                    </el-col>                    <el-col class="line" :span="6">容量电价</el-col>                    <el-col :span="9">                        <el-input v-model="caprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item>                    <el-button type="primary" @click="onSave" size="mini">保存</el-button>                </el-form-item>            </el-form>',
            data: function() {
                return {
                    name: "",
                    gtime1b: "",
                    gtime1e: "",
                    gtime2b: "",
                    gtime2e: "",
                    ptime1b: "",
                    ptime1e: "",
                    ptime2b: "",
                    ptime2e: "",
                    ftime1b: "",
                    ftime1e: "",
                    ftime2b: "",
                    ftime2e: "",
                    jtime1b: "",
                    jtime1e: "",
                    jtime2b: "",
                    jtime2e: "",
                    gprice: 0,
                    pprice: 0,
                    fprice: 0,
                    jprice: 0,
                    siteqa: 0,
                    qaprice: 0,
                    siteca: 0,
                    caprice: 0
                }
            },
            methods: {
                onSave: function() {
                    alert(this.siteca)
                }
            }
        })
    }
]);
